مشخصات مقاله
-
2296
-
0.0
-
14570
-
0
-
0
آموزش مدیریت فایل ورودی و خروجی در سی شارپ
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
آموزش مدیریت فایل ورودی و خروجی در سی شارپ
یک file مجموعه داده های ذخیره شده در یک دیسک با نام و مسیر مشخص می باشد. وقتی که فایل برای خواندن یا نوشتن باز می شود، یک stream می شود.
Stream اساسا دنباله ای از بایت هاست که از مسیر ارتباطی عبور می کند. دو stream مهم وجود دارد: inputstream و output stream. در واقع input stream برای خواندن (خوندن عملکرد) داده های فایل استفاده می شود و output stream برای نوشتن روی فایل (نوشتن عملکرد).
فضا نام System.IO گروه های مختلفی دارد که برای اجرای عملکردهای مختلف با فایل ها استفاده می شود، از جمله ایجاد و حذف فایل ها، خواندن یک فایل یا نوشتن روی آن، بستن یک فایل و غیره.
جدول زیر برخی از گروه های non abstract استفاده شده در فضا نام System.IO نشان می دهد.
|
I/O Class |
Description |
|
BinaryReader |
Reads primitive data from a binary stream. |
|
BinaryWriter |
Writes primitive data in binary format. |
|
BufferedStream |
A temporary storage for a stream of bytes. |
|
Directory |
Helps in manipulating a directory structure. |
|
DirectoryInfo |
Used for performing operations on directories. |
|
DriveInfo |
Provides information for the drives. |
|
File |
Helps in manipulating files. |
|
FileInfo |
Used for performing operations on files. |
|
FileStream |
Used to read from and write to any location in a file. |
|
MemoryStream |
Used for random access to streamed data stored in memory. |
|
Path |
عملکردهایی را روی اطلاعات مسیر اجرا می کند. |
|
StreamReader |
برای خواندن کاراکترها از یک byte stream استفاده می شود. |
|
StreamWriter |
برای نوشتن کاراکتر ها روی یک stream استفاده می شود. |
|
StringReader |
برای خواندن از یک استرینگ بافر استفاده می شود. |
|
StringWriter |
برای نوشتن روی یک استرینگ بافر استفاده می شود. |
گروه FileStream
گروه FileStream در فضانام System.lO به خواندن، نوشتن و بستن فایل ها کمک می کند. این گروه از گروه انتزاعی Stream استخراج می شود.
برای ایجاد فایل جدید یا باز کردن فایل موجود لازم است که یک آبجکت FileStream ایجاد کنید. ترکیب برای ایجاد یک آبجکت FileStream مانند زیر می باشد:
FileStream
به عنوان مثال برای ایجاد آبجکت F برای خواندن فایلی به نام sample.txt مانند زیر می باشد.
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
|
Parameter |
Description |
|
FileMode |
شمارنده ی FileMode روش های مختلف برای باز فایل ها تعریف می کند. اعضای این شمارنده عبارتند از: Append: یک فایل موجود را باز می کند و یک مکان نما در انتهای فایل قرار می دهد ویا اگر فایل موجود نباشد، فایل ایجاد می کند. Create: یک فایل جدید ایجاد می کند. CreateNew: برای سیستم عملکرد که باید یک فایل جدید ایجاد کند، مشخص می کند. Open: یک فایل موجود را باز می کند. Open OrCreate: برای سیستم عملکرد که باید یک فایل را باز کند، اگر موجود باشد، مشخص می کند، در غیر این صورت باید یک فایل جدید ایجاد کند. Truncate: فایل موجود را باز می کند و سایز آن را به صفر بایت کوتاه می کند. |
|
FileAccess |
شمارنده های FileAccess اعضایی دارند: Read، ReadWrite و Write |
|
FileShare |
شمارنده های FileShare دارای اعضای زیر می باشند. Inheritable: اجازه می دهد تا یک فایل هندل inheritance را به فرایندهای کودک انتقال دهد. None: اشتراک گذاری فایل موجود را کاهش می دهد. Read: اجازه باز کردن فایل را برای خواندن می دهد. ReadWrite: اجازه ی باز کردن فایل را برای خواندن و نوشتن می دهد. Write: اجازه باز کردن فایل را برای نوشتن می دهد. |
مثال
مثال زیر استفاده از گروه FileStram را توضیح می دهد.
using System;
using System.IO;
namespace FileIOApplication
{
class Program
{
static void Main(string[] args)
{
FileStream F = new FileStream("test.dat",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
for (int i = 1; i <= 20; i++)
{
F.WriteByte((byte)i);
}
F.Position = 0;
for (int i = 0; i <= 20; i++)
{
Console.Write(F.ReadByte() + " ");
}
F.Close();
Console.ReadKey();
}
}
}
وقتی که برنامه ی بالا کامپایل شده و اجرا می شود، نتیجه ی زیر را به دنبال دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
عملکردهای فایل پیشرفته در C#
مثال قبل عملکردهای فایل ساده در برنامه ی #C را ارائه می دهد. به هرحال برای به کار بردن نیروهای بی پایان گروه های System.IO در #C، روش ها و ویژگی های متداول مورد استفاده ی این گروه ها را لازم دارید.
در مورد این گروه ها و عمکردهایی که اجرا می کنند، در قسمت های بعدی بحث خواهیم کرد.
|
Topic and Description |
|
Reading from and Writing into Text files |
|
Reading from and Writing into Binary files شامل خواندن و نوشتن فایل های باینری می شود. گروه BinaryReader و BinaryWriter به تکمیل این عملکرد کمک می کند. |
|
Manipulating the Windows file system به برنامه نویس C# توانایی فهرست کردن و جایگزاری فایل ها و دارکتوری ها را می دهد. |